package com.example.elderlycare.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.elderlycare.dao.entity.Roster;
import com.example.elderlycare.service.entity.QueryListResponseBody;
import com.example.elderlycare.service.entity.RosterItem;
import com.example.elderlycare.service.entity.RosterStatisticsResponseBody;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * RosterService 排班
 *
 * @author ASUS
 */
public interface RosterService extends IService<Roster> {
    /**
     * generateRosterRecord  生成排班记录
     *
     * @param params 参数
     * @return List<Roster>
     */
    List<Roster> generateRosterRecord(Map<String, Object> params) throws IOException;

    /**
     * queryRosterList 根据条件筛选Roster记录
     *
     * @param params 查询参数
     * @return QueryListResponseBody<RosterItem>
     */
    QueryListResponseBody<RosterItem> queryRosterList(Map<String, Object> params);


    QueryListResponseBody<RosterStatisticsResponseBody> queryRosterStatisticsList(Map<String, Object> params);

    void getImportTemplate(HttpServletResponse response) throws IOException;
}
